/*
 NPS specific
*/

.bcNPS .uniForm ul li {
  display: block;
}
.bcNPS .uniForm ul li input[type="radio"] + label {
  float: left;
  clear: both;
  display: block;
  width: 100%;
  text-align: center;
}
.bcNPS .uniForm ul li input {
  float: left;
  display: block;
  margin-right: 0;
}
.bcNPS .uniForm ul li input[type="radio"] {
  float: left;
  display: block;
}

/* ------------------------------------------------------------------------------
   
   UNI-FORM form styling
   
   ------------------------------------------------------------------------------ */

#bcform-loaded {
  color: #000000;
  /* dummy style to determine if the css loaded */
}
.uniForm {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}

/* reset stuff */

/* Some generals and more resets */

.uniForm fieldset {
  border: none;
  margin: 0;
  padding: 0;
}
.uniForm fieldset.ui-sortable.ui-droppable {
  overflow: auto;
}
.uniForm label,
.uniForm legend,
.uniForm input,
.uniForm fieldset,
.uniForm select,
.uniForm textarea {
  font-size: 1em;
  width: auto;
}
.uniForm label span {
  font-weight: bold;
}
.uniForm h2 {
  font-size: 1.4em;
}
.uniForm fieldset legend {
  margin: 0;
  padding: 0;
}

/* This are the main units that contain form elements */

.uniForm .ctrlHolder,
.uniForm .buttonHolder {
  margin: 0;
  padding: 0;
  clear: both;
}

/* Clear all floats */

.uniForm:after,
.uniForm .buttonHolder:after,
.uniForm .ctrlHolder:after,
.uniForm .ctrlHolder .multiField:after,
.uniForm .inlineLabel:after,
.uniForm .fieldHolder:after {
  content: ".";
  display: block;
  height: 0;
  line-height: 0;
  font-size: 0;
  clear: both;
  min-height: 0;
  visibility: hidden;
}
.uniForm .ctrlHolder label,
.uniForm .ctrlHolder button {
  cursor: pointer;
}

/* ------------------------------------------------------------------------------ */

/* ##########################   DEFAULT LAYOUT   ################################ */

/* ------------------------------------------------------------------------------ */

/*       Styles for form controls where labels are above the input elements       */

/* ------------------------------------------------------------------------------ */

.uniForm label,
.uniForm .label {
  display: block;
  float: none;
  margin: 0 0 0.5em 0;
  padding: 0;
  line-height: 100%;
  width: auto;
}

/* Float the input elements */

.uniForm .textInput,
.uniForm .fileUpload,
.uniForm .selectInput,
.uniForm select,
.uniForm textarea {
  float: left;
  width: 55%;
  margin: 0;
}
.uniForm .textInput.bcLarge,
.uniForm textarea.bcLarge {
  width: 74%;
}
.uniForm .textInput.bcSmall,
.uniForm textarea.bcSmall {
  width: 30%;
}
.uniForm .lb .textInput,
.uniForm .lb .fileUpload,
.uniForm .lb .selectInput,
.uniForm .lb select,
.uniForm .lb textarea {
  width: 30em;
}

/* Postition the hints */

.uniForm .formHint {
  float: right;
  width: 43%;
  margin: 0;
  clear: none;
}

/* Position the elements inside combo boxes (multiple inputs/selects/checkboxes/radio buttons per unit) */

.uniForm ul {
  margin: 0;
  padding: 0;
  width: 100%;
}
.uniForm .lb ul {
  width: 30em;
}
.uniForm ul li {
  list-style: none;
  display: flex;
  clear: left;
  float: left;
}
.uniForm ul.horizontal li {
  clear: none;
  margin-right: 5px;
}
.uniForm ul li label {
  margin-top: 5px;
  display: inline;
}
.uniForm ul li input {
  margin-right: 6px;
}
.uniForm ul li input[type="radio"] {
  flex-shrink: 0;
  flex-grow: 0;
}
.uniForm ul li input[type="radio"] + label {
  flex-grow: 1;
}

/* Alternate layout */

.uniForm ul.alternate li {
  float: left;
  width: 30%;
  margin-right: 3%;
}
.uniForm ul.alternate li label {
  float: none;
  display: block;
  width: 98%;
}
.uniForm ul .textInput,
.uniForm ul .selectInput,
.uniForm ul select,
.uniForm ul.alternate .textInput,
.uniForm ul.alternate .selectInput,
.uniForm ul.alternate select {
  width: 98%;
  margin-top: 0.5em;
  display: block;
  float: none;
}

/* Required fields asterisk styling */

.uniForm label em,
.uniForm .label em {
  float: left;
  width: 1em;
  margin: 0 0 0 -1em;
}

/* ------------------------------------------------------------------------------ */

/* #########################   ALTERNATE LAYOUT   ############################### */

/* ------------------------------------------------------------------------------ */

/*    Styles for form controls where labels are in line with the input elements   */

/*    Set the class of the parent (preferably to a fieldset) to .inlineLabels     */

/* ------------------------------------------------------------------------------ */

.uniForm .inlineLabels label,
.uniForm .inlineLabels .label {
  float: left;
  margin: 0.3em 2% 0 0;
  padding: 0;
  line-height: 1;
  position: relative;
  width: 22%;
}

/* Float the input elements */

.uniForm .inlineLabels .textInput,
.uniForm .inlineLabels .fileUpload,
.uniForm .inlineLabels .selectInput,
.uniForm .inlineLabels select,
.uniForm .inlineLabels textarea {
  float: left;
  width: 55%;
}
.uniForm .inlineLabels .textInput.bcSmall,
.uniForm .inlineLabels textarea.bcSmall {
  width: 30%;
}
.uniForm .inlineLabels .textInput.bcLarge,
.uniForm .inlineLabels textarea.bcLarge {
  width: 74%;
}

/* Postition the hints */

.uniForm .inlineLabels .formHint {
  clear: both;
  float: none;
  width: auto;
  margin-left: 24%;
  position: static;
}

/* Position the elements inside combo boxes (multiple inputs/selects/checkboxes/radio buttons per unit) */

.uniForm .inlineLabels ul {
  float: left;
  width: 66%;
}
.uniForm .inlineLabels ul li {
  margin-bottom: 5px;
}
.uniForm .inlineLabels ul li label {
  position: absolute;
  margin-left: 25px;
}
.uniForm .inlineLabels ul.horizontal li label {
  position: relative;
  margin-left: 0px;
}

/* Alternate layout */

.uniForm .inlineLabels ul.alternate li {
  margin-right: 3%;
  margin-top: 0.25em;
}
.uniForm .inlineLabels ul li label .textInput,
.uniForm .inlineLabels ul li label textarea,
.uniForm .inlineLabels ul li label select {
  float: none;
  display: block;
  width: 98%;
}

/* Required fields asterisk styling */

.uniForm .inlineLabels label em,
.uniForm .inlineLabels .label em {
  display: block;
  float: none;
  margin: 0;
  position: absolute;
  right: 0;
}

/* ----------------------------------------------------------------------------- */

/* ########################### Additional Stuff ################################ */

/* ----------------------------------------------------------------------------- */

/* Generals */

.uniForm legend {
  color: inherit;
}
.uniForm .secondaryAction {
  float: left;
}

/* .inlineLabel is used for inputs within labels - checkboxes and radio buttons */

.uniForm .inlineLabel input,
.uniForm .inlineLabels .inlineLabel input,
.uniForm .blockLabels .inlineLabel input,

/* class .inlineLabel is depreciated */

.uniForm label input {
  float: none;
  display: inline;
  margin: 0;
  padding: 0;
  border: none;
}
.uniForm .buttonHolder .inlineLabel,
.uniForm .buttonHolder label {
  float: left;
  margin: 0.5em 0 0 0;
  width: auto;
  max-width: 60%;
  text-align: left;
}

/* When you don't want to use a label */

.uniForm .inlineLabels .noLabel ul {
  margin-left: 34%;
  /* Match to width of label + gap to field */
}

/* Classes for control of the widths of the fields */

.uniForm .small {
  width: 30% !important;
}
.uniForm .medium {
  width: 45% !important;
}
.uniForm .large {
}

/* Large is default and should match the value you set for .textInput, textarea or select */

.uniForm .auto {
  width: auto !important;
  height: auto !important;
}
.uniForm .small,
.uniForm .medium,
.uniForm .auto {
  margin-right: 4px;
}

/* Columns */

.uniForm .col {
  float: left;
}
.uniForm .col {
  width: 50%;
}
.uniForm legend {
  font-weight: bold;
  font-size: 100%;
  margin: 0;
  padding: 1.5em 0;
}
.uniForm .formHolder {
  padding: 0.5em 0;
}
.uniForm .formHolder.lb {
  margin: 1em;
  min-width: 490px;
  padding: 0;
}
.uniForm .ctrlHolder {
  padding: 1em;
  border-bottom: 1px solid #efefef;
}
.uniForm .fieldHolder {
  padding: 0.5em;
  position: relative;
}
.uniForm .ctrlHolder.focused {
  background: #fffcdf;
}
.uniForm .buttonHolder {
  background: initial;
  text-align: right;
  margin: 1.5em 0 0 0;
  padding: 1.5em;
  padding-top: 0px;
  /* CSS3 */
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  -khtml-border-radius: 4px;
}
.uniForm .buttonHolder .primaryAction {
  padding: 10px 22px;
  line-height: 1;
  background: #254a86;
  border: 1px solid #163362;
  font-size: 1em;
  font-weight: bold;
  color: #fff;
  /* CSS3 */
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  -khtml-border-radius: 4px;
  box-shadow: 1px 1px 0 #fff;
  -webkit-box-shadow: 1px 1px 0 #fff;
  -moz-box-shadow: 1px 1px 0 #fff;
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.25);
}
.uniForm .buttonHolder .primaryAction:active {
  position: relative;
  top: 1px;
}
.uniForm .secondaryAction {
  text-align: left;
}
.uniForm button.secondaryAction {
  background: transparent;
  border: none;
  color: #777;
  margin: 1.25em 0 0 0;
  padding: 0;
}
.uniForm .inlineLabels label em,
.uniForm .inlineLabels .label em {
  font-style: normal;
  font-weight: bold;
}
.uniForm label small {
  font-size: 0.75em;
  color: #777;
}
.uniForm .textInput,
.uniForm textarea {
  padding: 4px 2px;
  border: 1px solid #aaa;
  background: #fff;
}

/* Get rid of the 'glow' effect in WebKit, optional */

.uniForm .ctrlHolder .textInput:focus,
.uniForm .ctrlHolder textarea:focus {
  outline: none;
}
.uniForm .formHint {
  font-size: 0.85em;
  color: #777;
}
.uniForm .inlineLabels .formHint {
  padding-top: 0.5em;
}
.uniForm .ctrlHolder.focused .formHint {
  color: #333;
}

/* ----------------------------------------------------------------------------- */

/* ############################### Messages #################################### */

/* ----------------------------------------------------------------------------- */

/* Error message at the top of the form */

.uniForm #errorMsg {
  background: #ffdfdf;
  border: 1px solid #f3afb5;
  margin: 0 0 1.5em 0;
  padding: 0 1.5em;
  /* CSS3 */
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  -khtml-border-radius: 4px;
  color: #af4c4c;
}
.uniForm #errorMsg h3 {
}

/* Feel free to use a heading level suitable to your page structure */

.uniForm #errorMsg ol {
  margin: 0 0 1.5em 0;
  padding: 0;
}
.uniForm #errorMsg ol li {
  margin: 0 0 3px 1.5em;
  padding: 7px;
  background: #f6bec1;
  position: relative;
  font-size: 0.85em;
  /* CSS3 */
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  -khtml-border-radius: 4px;
}
.uniForm span.errormsg {
  color: #ff0000;
  font-style: italic;
  padding: 6px;
}
.uniForm .fieldHolder.error,
.uniForm .fieldHolder.focused.error {
  background: #ffdfdf;
  border: 1px solid #f3afb5;
  margin-bottom: 5px;
  /* CSS3 */
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  -khtml-border-radius: 4px;
}
.uniForm .fieldHolder.error input.error,
.uniForm .fieldHolder.error select.error,
.uniForm .fieldHolder.error textarea.error {
  color: #af4c4c;
  margin: 0 0 6px 0;
  padding: 4px;
}

/* Success messages at the top of the form */

.uniForm #okMsg {
  background: #c8ffbf;
  border: 1px solid #a2ef95;
  margin: 0 0 1.5em 0;
  padding: 1.5em;
  text-align: center;
  /* CSS3 */
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
  -khtml-border-radius: 4px;
}
.uniForm #okMsg p {
  margin: 0;
}

/* ----------------------------------------------------------------------------- */

/* ############################### Columns ##################################### */

/* ----------------------------------------------------------------------------- */

.uniForm .col {
  margin-bottom: 1.5em;
}

/* Use .first and .last classes to control the layout/spacing of your columns */

.uniForm .col.first {
  width: 49%;
  float: left;
  clear: none;
}
.uniForm .col.last {
  width: 49%;
  float: right;
  clear: none;
  margin-right: 0;
}
.fieldHolder li {
  min-height: 25px;
}
